/*--- mu.js / mu-inheritance / v 0.1 ---*/
(function (){
    var muoo = {
        select:function(Class){
            return new function(){
                this.Extends = function(Parent){
                        for(var m in instance = new Parent){Class[m] = instance[m];};
                };/*end Extends*/
                this.Is = function(Type){
                        return Class instanceof Type;
                };/*end Is*/
                this.New = function(){
                        var instance = new Class;
                        if(instance[instance.constructor.name]!=undefined){
                                instance[instance.constructor.name].apply(instance,arguments);
                                return instance;
                        }else{throw instance.constructor.name+' is an abstract class';}
                };/*end New*/
            };/*end return*/
        }/*end select*/
    };/*end muoo*/
    if(!window.$){window.$=muoo.select;};
    if(!window.mu){window.mu=muoo.select;};
    if(!window.µ){window.µ=muoo.select;};
})();
/*TODO:Implements*/
/*TODO:DoesExtend*/
/*TODO:AOP*/
/*TODO:Properties*/
/*TODO:Selective inheritance etc. ...*/

